1. Field of the Invention
This invention relates to animation of video special effects.
2. Description of the Prior Art
Some computer-based video special effects systems make use of a xe2x80x9ccorexe2x80x9d computer program and a number of possible program modules or xe2x80x9cplug-insxe2x80x9d which can be loaded when required.
In one example of a video special effects system using this structure, the user can generally set up a composite special effect to be applied to a video sequence by selecting a succession of effects modules from a large number of available modules. For example, a sequence (or xe2x80x9cdirected acyclic graphxe2x80x9d) of effects set up by a user might comprise:
(i) image loader
(ii) motion tracker linked to image loader
(iii) lighting effect linked to motion tracking and image loader
(iv) image realignment linked to motion tracking and image loader
Each of these effects can be implemented as a program module or plug-in, with data being routed between the modules under the overall control of a core program.
There is often a requirement to xe2x80x9canimatexe2x80x9d some of the special effects modules within a composite effect. This means that operational parameters of the effect are varied with time (i.e. from image to image in a video sequence). For example, the lighting effect mentioned above might be animated by varying the light""s source and destination positions within the image with respect to time, so making the light appear to sweep across the image.
This invention provides video special effects apparatus comprising:
a core program object; and
a plurality of render processor plug-in program objects responsive to the core program object, the render processors being arranged in directed acyclic graph, each operable to render an output result relating to successive images of a video signal from input data relating to that and/or other images received from a preceding render processor in the directed acyclic graph and in response to operational parameters relating to that render processor;
in which each operational parameter is defined by a parameter plug-in object arranged to communicate a parameter value to the render processor plug-in object.
The invention provides a convenient and elegantly simple way of controlling parameter values of a special effects system using plug-in objects, by employing separate plug-in objects to define the parameter values. This technique, which can be made invisible to the user, allows straightforward animation of the parameter values without the need for bespoke animation code within the effects plug-in object, and also allows easy routing of the output of one effect as a parameter input to another effect.
The above, and other objects, features and advantages of this invention will be apparent from the following detailed description of illustrative embodiments which is to be read in connection with the accompanying drawings.